package com.yanqu.road.entity.activity.twins;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;


//跨服boss
public class CrossTwinsUserData{

    private int activityId;

    private int groupId;

    //在哪个boss的场景，没有就是0
    private int bossId;

    private int hp;

    private long hpTime;

    private int userNo;

    private long userId;

    private long attackUserId;

    //0没有操作，1攻击boss，2攻击玩家
    private int status;

    //自己的血量血量
    private BigInteger maxBool = BigInteger.ZERO;

    private BigInteger maxAttack = BigInteger.ZERO;


    //进入boss房间后的血量固定
    private BigInteger roomMaxBool = BigInteger.ZERO;
    private BigInteger roomBool = BigInteger.ZERO;

    //进入boss房间后的攻击力固定
    private BigInteger roomAttack = BigInteger.ZERO;

    //当前房间的击杀值
    private long attackScore;

    //活动的所有值
    private long allScore;

    //攻击时间
    private long attackTime;

    //上一次攻击时间
    private long lastAttackTime;

    //结束了有奖励了
    private String reward = "";

    private String killReward = "";

    //谁杀了这个玩家
    private long killUserId;
    //哪个玩家杀了boss
    private long killBossUserId;
    //哪个boss杀了这个玩家
    private int killBossId;

    //上一次战场是哪个boss
    private int lastBossId;

    //死亡时间
    private long dieTime;

    //连续击杀了几个玩家了
    private int killTimes;

    //抽个奖次数
    private int drawTimes;
    //保底大奖累计次数
    private int drawNoBigCount;

    //连续的两次不能抽中一样的东西
    private int lastDrawItemId;
    //抽中道具
    private List<Integer> drawItemList = new ArrayList<>();

    //打谁 被打的人的userNo,我的userNo(我可能死了再打死了再打)
    private Map<Integer,Map<Integer,CrossTwinsDamageRecordData>> attackDamageRecordMap = new ConcurrentHashMap<>();

    //被打 userNo玩家自己的，打他的玩家的
    private Map<Integer,Map<Integer,CrossTwinsDamageRecordData>> beAttackDamageRecordMap = new ConcurrentHashMap<>();

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public int getBossId() {
        return bossId;
    }

    public void setBossId(int bossId) {
        this.bossId = bossId;
    }

    public int getHp() {
        return hp;
    }

    public void setHp(int hp) {
        this.hp = hp;
    }

    public long getHpTime() {
        return hpTime;
    }

    public void setHpTime(long hpTime) {
        this.hpTime = hpTime;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getUserNo() {
        return userNo;
    }

    public void setUserNo(int userNo) {
        this.userNo = userNo;
    }

    public long getAttackUserId() {
        return attackUserId;
    }

    public void setAttackUserId(long attackUserId) {
        this.attackUserId = attackUserId;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public BigInteger getMaxBool() {
        return maxBool;
    }

    public void setMaxBool(BigInteger maxBool) {
        this.maxBool = maxBool;
    }

    public BigInteger getMaxAttack() {
        return maxAttack;
    }

    public void setMaxAttack(BigInteger maxAttack) {
        this.maxAttack = maxAttack;
    }

    public BigInteger getRoomBool() {
        return roomBool;
    }

    public void setRoomBool(BigInteger roomBool) {
        this.roomBool = roomBool;
    }

    public BigInteger getRoomMaxBool() {
        return roomMaxBool;
    }

    public void setRoomMaxBool(BigInteger roomMaxBool) {
        this.roomMaxBool = roomMaxBool;
    }

    public BigInteger getRoomAttack() {
        return roomAttack;
    }

    public void setRoomAttack(BigInteger roomAttack) {
        this.roomAttack = roomAttack;
    }

    public long getAttackScore() {
        return attackScore;
    }

    public void setAttackScore(long attackScore) {
        this.attackScore = attackScore;
    }

    public long getAttackTime() {
        return attackTime;
    }

    public long getAllScore() {
        return allScore;
    }

    public void setAllScore(long allScore) {
        this.allScore = allScore;
    }

    public void setAttackTime(long attackTime) {
        this.attackTime = attackTime;
    }

    public long getLastAttackTime() {
        return lastAttackTime;
    }

    public void setLastAttackTime(long lastAttackTime) {
        this.lastAttackTime = lastAttackTime;
    }


    public String getReward() {
        return reward;
    }

    public void setReward(String reward) {
        this.reward = reward;
    }

    public String getKillReward() {
        return killReward;
    }

    public void setKillReward(String killReward) {
        this.killReward = killReward;
    }

    public long getKillUserId() {
        return killUserId;
    }

    public void setKillUserId(long killUserId) {
        this.killUserId = killUserId;
    }

    public long getKillBossUserId() {
        return killBossUserId;
    }

    public void setKillBossUserId(long killBossUserId) {
        this.killBossUserId = killBossUserId;
    }

    public int getKillBossId() {
        return killBossId;
    }

    public void setKillBossId(int killBossId) {
        this.killBossId = killBossId;
    }

    public Map<Integer, Map<Integer, CrossTwinsDamageRecordData>> getAttackDamageRecordMap() {
        return attackDamageRecordMap;
    }

    public void setAttackDamageRecordMap(Map<Integer, Map<Integer, CrossTwinsDamageRecordData>> attackDamageRecordMap) {
        this.attackDamageRecordMap = attackDamageRecordMap;
    }

    public Map<Integer, Map<Integer, CrossTwinsDamageRecordData>> getBeAttackDamageRecordMap() {
        return beAttackDamageRecordMap;
    }

    public void setBeAttackDamageRecordMap(Map<Integer, Map<Integer, CrossTwinsDamageRecordData>> beAttackDamageRecordMap) {
        this.beAttackDamageRecordMap = beAttackDamageRecordMap;
    }

    public long getDieTime() {
        return dieTime;
    }

    public void setDieTime(long dieTime) {
        this.dieTime = dieTime;
    }


    public int getDrawTimes() {
        return drawTimes;
    }

    public void setDrawTimes(int drawTimes) {
        this.drawTimes = drawTimes;
    }

    public int getDrawNoBigCount() {
        return drawNoBigCount;
    }

    public void setDrawNoBigCount(int drawNoBigCount) {
        this.drawNoBigCount = drawNoBigCount;
    }


    public List<Integer> getDrawItemList() {
        return drawItemList;
    }

    public void setDrawItemList(List<Integer> drawItemList) {
        this.drawItemList = drawItemList;
    }

    public int getLastDrawItemId() {
        return lastDrawItemId;
    }

    public void setLastDrawItemId(int lastDrawItemId) {
        this.lastDrawItemId = lastDrawItemId;
    }

    public int getKillTimes() {
        return killTimes;
    }

    public void setKillTimes(int killTimes) {
        this.killTimes = killTimes;
    }

    public int getLastBossId() {
        return lastBossId;
    }

    public void setLastBossId(int lastBossId) {
        this.lastBossId = lastBossId;
    }

    public int getGroupId() {
        return groupId;
    }

    public void setGroupId(int groupId) {
        this.groupId = groupId;
    }
}
